@@ -12,7 +12,7 @@ class GroupInfoAdmin(admin.ModelAdmin):  | 
            ||
| 12 | 12 | 
                 | 
            
| 13 | 13 | 
                 | 
            
| 14 | 14 | 
                class GroupUserInfoAdmin(admin.ModelAdmin):  | 
            
| 15 | 
                -    list_display = ('group_id', 'user_id', 'current_id', 'nickname', 'admin', 'user_status', 'passed_at', 'refused_at', 'status', 'created_at', 'updated_at')
               | 
            |
| 15 | 
                +    list_display = ('group_id', 'user_id', 'current_id', 'nickname', 'admin', 'subadmin', 'admin_status', 'user_status', 'passed_at', 'refused_at', 'status', 'created_at', 'updated_at')
               | 
            |
| 16 | 16 | 
                     list_filter = ('user_status', 'status')
               | 
            
| 17 | 17 | 
                 | 
            
| 18 | 18 | 
                 | 
            
                @@ -0,0 +1,19 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.db import models, migrations  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class Migration(migrations.Migration):  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                + dependencies = [  | 
            |
| 10 | 
                +        ('group', '0034_auto_20170411_1156'),
               | 
            |
| 11 | 
                + ]  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                + operations = [  | 
            |
| 14 | 
                + migrations.AddField(  | 
            |
| 15 | 
                + model_name='groupuserinfo',  | 
            |
| 16 | 
                + name='admin_status',  | 
            |
| 17 | 
                + field=models.BooleanField(default=True, help_text='\u7fa4\u7ec4\u7ba1\u7406\u5458\u72b6\u6001', verbose_name='admin_status'),  | 
            |
| 18 | 
                + ),  | 
            |
| 19 | 
                + ]  | 
            
                @@ -164,6 +164,7 @@ class GroupUserInfo(CreateUpdateMixin):  | 
            ||
| 164 | 164 | 
                relative_persons = models.IntegerField(_(u'relative_persons'), default=1, help_text=u'关联人数')  | 
            
| 165 | 165 | 
                authority = models.BooleanField(_(u'authority'), default=True, help_text=u'是否有定位权限')  | 
            
| 166 | 166 | 
                remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')  | 
            
| 167 | 
                + admin_status = models.BooleanField(_(u'admin_status'), default=True, help_text=_(u'群组管理员状态'))  | 
            |
| 167 | 168 | 
                 | 
            
| 168 | 169 | 
                class Meta:  | 
            
| 169 | 170 | 
                verbose_name = _(u'groupuserinfo')  | 
            
                @@ -202,7 +203,7 @@ class GroupUserInfo(CreateUpdateMixin):  | 
            ||
| 202 | 203 | 
                'relative_persons': self.relative_persons,  | 
            
| 203 | 204 | 
                'authority': self.authority,  | 
            
| 204 | 205 | 
                'remark': self.remark,  | 
            
| 205 | 
                - 'status': self.status,  | 
            |
| 206 | 
                + 'status': self.admin_status,  | 
            |
| 206 | 207 | 
                }  | 
            
| 207 | 208 | 
                 | 
            
| 208 | 209 | 
                 | 
            
                @@ -45,12 +45,12 @@ def tg_group_admin_recovery_api(request):  | 
            ||
| 45 | 45 | 
                return response(GroupStatusCode.ADMIN_CANNOT_HANDLE_SELF)  | 
            
| 46 | 46 | 
                 | 
            
| 47 | 47 | 
                try:  | 
            
| 48 | 
                - subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, status=True)  | 
            |
| 48 | 
                + subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, admin_status=True, status=True)  | 
            |
| 49 | 49 | 
                except GroupUserInfo.DoesNotExist:  | 
            
| 50 | 50 | 
                return response(GroupStatusCode.NOT_GROUP_SUBADMIN)  | 
            
| 51 | 51 | 
                 | 
            
| 52 | 52 | 
                # 权限回收  | 
            
| 53 | 
                - subadmin.status = False  | 
            |
| 53 | 
                + subadmin.admin_status = False  | 
            |
| 54 | 54 | 
                subadmin.save()  | 
            
| 55 | 55 | 
                 | 
            
| 56 | 56 | 
                return response(200, 'Tour Guide Group Admin Right Recovery Success', u'旅行团管理员权限回收成功')  | 
            
                @@ -63,12 +63,12 @@ def tg_group_admin_waiver_api(request):  | 
            ||
| 63 | 63 | 
                     user_id = request.POST.get('user_id', '')
               | 
            
| 64 | 64 | 
                 | 
            
| 65 | 65 | 
                try:  | 
            
| 66 | 
                - subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, status=True)  | 
            |
| 66 | 
                + subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, admin_status=True, status=True)  | 
            |
| 67 | 67 | 
                except GroupUserInfo.DoesNotExist:  | 
            
| 68 | 68 | 
                return response(GroupStatusCode.NOT_GROUP_SUBADMIN)  | 
            
| 69 | 69 | 
                 | 
            
| 70 | 70 | 
                # 权限回收  | 
            
| 71 | 
                - subadmin.status = False  | 
            |
| 71 | 
                + subadmin.admin_status = False  | 
            |
| 72 | 72 | 
                subadmin.save()  | 
            
| 73 | 73 | 
                 | 
            
| 74 | 74 | 
                return response(200, 'Tour Guide Group Admin Right Waiver Success', u'旅行团管理员权限放弃成功')  | 
            
                @@ -6,14 +6,14 @@ from group.models import GroupInfo, GroupUserInfo  | 
            ||
| 6 | 6 | 
                 | 
            
| 7 | 7 | 
                 | 
            
| 8 | 8 | 
                def is_group_admin(group_id, admin_id):  | 
            
| 9 | 
                - return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, admin=True, status=True).exists()  | 
            |
| 9 | 
                + return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, admin=True, admin_status=True, status=True).exists()  | 
            |
| 10 | 10 | 
                 | 
            
| 11 | 11 | 
                 | 
            
| 12 | 12 | 
                def is_group_subadmin(group_id, admin_id):  | 
            
| 13 | 
                - return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, subadmin=True, status=True).exists()  | 
            |
| 13 | 
                + return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, subadmin=True, admin_status=True, status=True).exists()  | 
            |
| 14 | 14 | 
                 | 
            
| 15 | 15 | 
                 | 
            
| 16 | 16 | 
                def have_active_group(user_id):  | 
            
| 17 | 
                - groups = GroupUserInfo.objects.filter(user_id=user_id, subadmin=True, status=True)  | 
            |
| 17 | 
                + groups = GroupUserInfo.objects.filter(user_id=user_id, subadmin=True, admin_status=True, status=True)  | 
            |
| 18 | 18 | 
                groupids = [group.group_id for group in groups]  | 
            
| 19 | 19 | 
                return GroupInfo.objects.filter(group_id__in=groupids, group_closed=False, status=True, ended_at__gt=tc.utc_datetime()).exists()  |